<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <script>
      // map es6新增的数据结构
      // 与对象类似
      // 与对象的区别 普通对象key值只能是字符串和number
      // map的key值可以任意 对象 布尔 函数
      // 有size属性 数据长度
      var map = new Map([
        ['name', '张三'],
        ['age', 44],
        [true, '真'],
        [{ sex: '男' }, 88]
      ])
      console.log(map)
      // map的api
      //增加 set()
      map.set('shengao', '190')
      map.set('tizhong', '290')
      console.log(map)
      //删除 delete
      map.delete(true)
      console.log(map)
      // get() 获取map中的值
      console.log(map.get('age'))
      //has() 是否含有某个值 返回true和false
      console.log(map.has('shengao'))
      //key() 返回所有key
      console.log(map.keys())
      // values() 返回所有的value
      console.log(map.values())
      //map的forEach()
      map.forEach((value, key) => {
        console.log(key + '--------' + value)
      })
      // for of 遍历
      for (let [key, value] of map) {
        console.log(key + '--------' + value)
      }
    </script>
  </body>
</html>
